package Thread;

import java.util.Scanner;

//进行使用Thread类的wait()和notify()方法进行设置相关逻辑的实现；
//进而体会wait()和notify()方法的作用；
//这个两个方法要进行搭配使用，
// 并且需要两个方法作用的对象也必须是相同，
// 否则就会使得这个线程的运行难以结束；
public class Demo24 {
    //Object lock1=new Object();
    //Object lock2=new Object();
    public static void main(String[] args){
        Object lock1=new Object();
        Object lock2=new Object();
        Thread  t1=new Thread(()->{
            try{
                System.out.println("wait方法执行之前");
                synchronized (lock1){
                    lock1.wait();
                }
                System.out.println("wait方法执行之后");
            } catch (InterruptedException e) {
                throw new RuntimeException(e);
            }
        });
        Thread t2=new Thread(()->{
                Scanner scanner=new Scanner(System.in);
                System.out.println("请输入一会你想输入的数字，执行t1线程的wait方法");
                scanner.next();
                synchronized (lock1){
                    lock1.notify();
                }
        });
        t1.start();
        t2.start();
    }
}
